#! /usr/bin/env node

const { fstat } = require('fs')
/** 
 * Node CLI 应用入口文件必须要有这样文件头
 * 如果是Linux 或者 macOS 系统下还需要修改此文件的读写权限为 755
 * 具体就是通过 chmod 755 cli.js 实现修改
*/

// console.log('cli working')

// 脚手架的工作过程：
// 1、通过命令行交互询问用户问题
// 2、根据用户回答的结果生成文件
const fs = require('fs')
const path = require('path')
const inquirer = require('inquirer')
const ejs = require('ejs')

inquirer.prompt([
    {
        type:'input',
        name:'name',
        message: 'Project Name'
    }
])
.then(anwsers => {
    // console.log(anwsers)

    const templDir = path.join(__dirname, 'templates')
    const destDir = process.cwd()

    fs.readdir(templDir, (err, files) => {
        if(err) throw err
        files.forEach(file => {
            // console.log(file)
            ejs.renderFile(path.join(templDir, file), anwsers, (err, reslut) => {
                if (err) throw err
                // console.log(reslut)
                fs.writeFileSync(path.join(destDir, file), reslut)
            })
        })
    })
})
